package com.smile.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
//import com.smile.model.domain.SmilePlusUser;
import com.smile.model.dto.request.AddUserRequestDTO;
import com.smile.model.dto.request.EditUserRequestDTO;
import com.smile.model.dto.request.GetUserInfoByUserNameRequestDTO;
import com.smile.model.dto.request.GetUserListRequestDTO;
import com.smile.model.response.response.GetUserByIdResponseDTO;
import com.smile.model.response.response.GetUserInfoByUserNameResponseDTO;
import com.smile.model.response.response.GetUserListResponseDTO;
import com.smile.model.response.response.GetUserSimpleInfoResponseDTO;

import java.util.List;
import java.util.Map;

public interface UserService {
//    Page<SmilePlusUser> page();

    Boolean addUser(AddUserRequestDTO addUserRequestDTO);

    Page<GetUserListResponseDTO> getUserList(GetUserListRequestDTO getUserListRequestDTO);

    Boolean deleteUser(Long id);

    Boolean edit(EditUserRequestDTO editUserRequestDTO);

    GetUserInfoByUserNameResponseDTO getUserInfoByUserName(GetUserInfoByUserNameRequestDTO getUserInfoByUserNameRequestDTO);

    GetUserByIdResponseDTO getUserById(Long id);

    GetUserSimpleInfoResponseDTO getUserSimpleInfo(Long aLong);

    Map<Long, GetUserByIdResponseDTO> getUserByIds(List<Long> ids);

    void resetPassword(Long id);
}
